//算法题：寻找数组的中心下标；
//实例1；
//输入：nums = [1, 7, 3, 6, 5, 6];
//输出；3
//实例2
//输入：nums = [1, 2, 3]
//输出；-1
//实例3；
//输入：nums = [2, 1，-1];
//输出；0;

//解法：利用前缀数组和+后缀数组和进行相关的寻找解决；
public class Nm1 {
    public static int fun(int[] nums){
        //进行相关变量的定义；
        int n=nums.length;
        int f[]=new int[n];//前缀数组；
        int g[]=new int[n];//后缀数组；
        //进行前缀数组的预处理；
        for(int i=1;i<n;i++){
            f[i]=f[i-1]+nums[i-1];
        }
        //进行后缀数组的预处理；
        for(int i=n-2;i>=0;i--){
            g[i]=g[i+1]+nums[i+1];
        }
        //进行使用前缀数组和后缀数组来解决问题；
        for(int i=0;i<n;i++){
            if(f[i]==g[i]){
                return i;
            }
        }
        return -1;
    }
    public static void main(String[] args){
        int[] nums={1, 7, 3, 6, 5, 6};
        int ret=fun(nums);
        System.out.println(ret);
    }
}
